#include<stdio.h>
#include<string.h>
typedef struct stu
{
    int num;
    char s;
}ss;
ss sss[4];
char zzf(int i)
{
    int j;
    for(j=0;j<4;j++)
        if((sss+j)->num==i)
            return (sss+j)->s;
}
int main()
{
    char gplt[10001],g[4]={'G','P','L','T'};
    int a[4]={0};
    int i,j,k,temp;
    scanf("%s",gplt);
    for(i=0;i<strlen(gplt);i++)
        if(gplt[i]=='G'||gplt[i]=='g')
            a[0]++;
        else if(gplt[i]=='P'||gplt[i]=='p')
            a[1]++;
        else if(gplt[i]=='L'||gplt[i]=='l')
            a[2]++;
        else if(gplt[i]=='T'||gplt[i]=='t')
            a[3]++;
    for(i=0;i<4;i++)
    {
        (sss+i)->num=a[i];
        (sss+i)->s=g[i];
    }
    for(i=0;i<3;i++)
    {
        k=i;
        for(j=i+1;j<4;j++)
            if(a[k]>a[j])
                k=j;
        if(k!=i)
        {temp=a[k];a[k]=a[i];a[i]=temp;}
    }
    for(i=0;i<a[0];i++)
        printf("GPLT");
    for(i=0;i<a[1]-a[0];i++)
        for(j=0;j<4;j++)
            if(g[j]!=zzf(a[0]))
                printf("%c",g[j]);
    for(i=0;i<a[2]-a[1];i++)
        for(j=0;j<4;j++)
            if(g[j]!=zzf(a[0])&&g[j]!=zzf(a[1]))
                printf("%c",g[j]);
    for(i=0;i<a[3]-a[2];i++)
        for(j=0;j<4;j++)
            if(g[j]==zzf(a[3]))
                printf("%c",g[j]);
    return 0;
}